草庐IT

C++ 异常开销

全部标签

c# - C# setter 中的堆栈溢出异常

这个有效:usingSystem;usingConstraintSet=System.Collections.Generic.Dictionary;namespaceConsoleApplication2{classtest{publicConstraintSeta{get;set;}publictest(){a=newConstraintSet();}staticvoidMain(string[]args){testabc=newtest();Console.WriteLine("done");}}}这不是:usingSystem;usingConstraintSet=System.

c# - HRESULT 异常 : 0x800401E3 (MK_E_UNAVAILABLE) Workarounds

来自以下调用Marshal.GetActiveObject("Excel.Application")我得到一个Operationunavailable(ExceptionfromHRESULT:0x800401E3(MK_E_UNAVAILABLE))我认为这个错误是由于我的应用程序和excel之间的用户权限不匹配导致的。我想知道是否有解决方法,无论excel如何打开,我都可以访问打开的excel应用程序,我可以以管理员身份打开我想访问excel的程序。我还想知道如何判断打开的进程的权限是什么?我一直在使用ProcessExplorer查看UserProfile(这在两个应用程序中是相

c# - Owin SelfHost WebApi - 客户端在响应期间关闭连接会引发异常吗?

我正在运行一个基于OwinSelfhost的WebApi,我已经通过放入了一个API未处理的异常记录器config.Services.Add(typeof(IExceptionLogger),_apiExceptionLogger);ApiExceptionLogger相关部分:publicoverridevoidLog(ExceptionLoggerContextcontext){if(context==null||context.ExceptionContext==null)return;Logger.Error("UnhandledexceptionfromWebAPI",con

c# - AppDomain.FirstChanceException 和堆栈溢出异常

我正在使用FirstChanceException事件记录有关任何引发的异常的详细信息。staticvoidMain(string[]args){AppDomain.CurrentDomain.FirstChanceException+=(sender,eventArgs)=>{Console.WriteLine("Insidefirstchanceexception.");};thrownewException("Exceptionthrowninmain.");}这按预期工作。但是,如果在事件处理程序中抛出异常,则会发生堆栈溢出,因为事件将递归引发。staticvoidMain(s

c# - 使用 AutoMapper 获取异常

我正在对一种方法进行单元测试,该方法使用自动映射器将我的域中的类映射到linqtosql类。粗略地说,类和映射如下(SupplierEligibilityAllocated是L2S自动生成的类)。publicclassSupplierEligibilityTransactionByQuantity{publicdecimalEligibility{get;privateset;}publicdecimalCoreValue{get;privateset;}publicint?TransactionId{get;privateset;}publicSupplierTransactionS

c# - DataContext 的异常

我一直在互联网上搜索,但似乎找不到遮阳篷。DataContext可以抛出哪些异常?或者更具体地说,DataContext.SubmitChanges()方法会抛出哪些异常?编辑作为引用,这里列出了可能由L2SDataContext抛出的已知异常:SQL异常ChangeConflictException重复键异常ForeignKeyReferenceAlreadyHasValueExceptionOutOfMemoryException(当未正确处理DataContext时) 最佳答案 你说得对,MSDN在这方面帮助不大。这是我能从脑

c# - 如何为 Web API 2 异步操作中的异常获取正确的堆栈跟踪?

我有一个简单的APIController方法publicasyncTaskGetByDate(DateTimedate,stringuser=null){thrownewInvalidOperationException();}现在的问题是我在自定义操作过滤器中或仅通过设置IncludeErrorDetailPolicy.Always获得的异常堆栈跟踪是这样的System.InvalidOperationException:Operationisnotvalidduetothecurrentstateoftheobject.atSystem.Web.Http.Filters.Actio

c# - .NET 中的 HttpWebRequest NameResolutionFailure 异常(在 Ubuntu 上使用 Mono)

我有一个通过Mono2.10在Ubuntu上运行的.NET程序该程序每分钟左右通过HttpWebRequest下载一个网页,大多数情况下工作正常:Stringresult;WebResponseobjResponse;WebRequestobjRequest=System.Net.HttpWebRequest.Create(url);using(objResponse=objRequest.GetResponse()){using(StreamReadersr=newStreamReader(objResponse.GetResponseStream())){result=sr.Rea

c# - 如何指定接口(interface)的实现者抛出的异常?

我目前正在开发一个解决方案,并以一种能够强有力地实现策略/提供者模式的方式对其进行设计。因此,该解决方案公开了许多接口(interface)并包含这些接口(interface)的默认实现,这些接口(interface)可以通过DI类型方法进行替换。如果主机应用程序使用许多这样的接口(interface),它期望处理可能发生的某些异常,例如IDataRetriever接口(interface)有一个方法SomeDataTypeGetData(inttimeout);并且主机可以处理一些自定义异常,例如DataRetrievalTimeoutException或NetworkConnect

c# - 为什么后台线程中未处理的异常不会使应用程序域崩溃?

我完全不解。我非常确定,如果线程中存在未捕获的异常,.NET会关闭整个应用程序域,因此我从未测试过。但是我只是尝试了下面的代码并没有失败...谁能解释一下为什么?(在.NET4和3.5中试过)staticvoidMain(string[]args){Console.WriteLine("Mainthread{0}",Thread.CurrentThread.ManagedThreadId);Actiona=newAction(()=>{Console.WriteLine("Backgroundthread{0}",Thread.CurrentThread.ManagedThreadId